import { specscount, getSpecslist } from "../../../require/api";

const state = {
    // 规格列表
    specsList: [],
    // 页码
    pageNum: 1,
    // 条数
    pageSize: 3,
    // 总数
    count: 0
}
const getters = {
    //获取列表数据
    getSpecs(state) {
        return state.specsList
    },
    // 获取当前页码
    getSize(state) {
        return state.pageSize
    },
    // 总数
    getCount(state) {
        return state.count
    }
}
const mutations = {
    GSPECSLIST(state, paylod) {
        state.specsList = paylod
    },
    GCOUNT(state, paylod) {
        state.count = paylod
    },

    //修改页码事件
    GPAGENUM(state, paylog) {
        state.pageNum = paylog
    }
}

const actions = {
    // 列表
    getSpecsAction(context) {
        // console.log(context, 'context');
        getSpecslist({
            size: context.state.pageSize,
            page: context.state.pageNum
        }).then(res => {
            console.log(res.list, '规格列表');
            // context.commit('GSPECSLIST', res.list)
            let list = res.list ? res.list : []
            // 解决非第一页时 并作为最后一条数据时页面显示空状态
            if (context.state.pageNum != 1 && list.length == 0) {
                // 重新触发页码修改 页码要-1
                context.dispatch('changePageAction', context.state.pageNum - 1)

            }
            context.commit('GSPECSLIST', res.list)

        })
    },
    // 总数
    getCountAction({ commit }) {
        specscount().then(res => {
            // console.log(res);
            if (res.code == 200) {
                // console.log(res, 'count');
                commit("GCOUNT", res.list[0].total)
            }

        })
    },
    //更改页码切换页面
    changePageAction(context, paylod) {
        // 修改页码
        context.commit('GPAGENUM', paylod)
        // 再次触发列表
        context.dispatch('getSpecsAction')
    }
}
export default {
    state,
    getters,
    mutations,
    actions,
    namespaced: true,
}